<?php

namespace app\test\controller;

use think\Controller;
use think\Db;
use think\exception\ErrorException;
use think\Request;

class Competition extends Controller
{
    // 实现插入
    public function insert(Request $request){
        //  2022-01-25T16:00:00.000Z 发送过来的数据格式不对
//        处理日期的格式
        $date = substr($request->param('date'),00,-14);
        //     最初返回的date格式不对，需要处理，自重构前端代码后，返回的格式还是不对？？？insert和update中的两个日期格式居然不同！

        $data = [
            'name' =>   $request->param('name'),
            'content' => $request->param('content'),
            'date' =>   $date,
            'father' => $request->param('type')
        ];
        $insert =   Db::name('annocement_course')->insert($data);
        return $insert;
    }

    // 实现删除
    public function delete(Request $request) {
        $id = $request->param('id');
        $delete = Db::name('annocement_course')->where('id',$id)->delete();
        return $delete;
    }

    // 实现修改
    public function update(Request $request){
//        根据id修改数据
        $id = $request->param('id');
//        $date = substr($request->param('date'),00,-14);
//        最初返回的date格式不对，需要处理，自重构前端代码后，返回的格式正确，不需要再处理
        $data = [
            'name' =>   $request->param('name'),
            'content' => $request->param('content'),
            'date' =>   $request->param('date'),
            'father' => $request->param('type')
        ];
        $update = Db::name('annocement_course')->where('id',$id)->update($data);
        return $update;

    }

    // 实现分页
    // 每页条目数
    public function paginate(Request $request){
        $pagesize = $request->param('pagesize');
        $result = Db::table('annocement_course')->paginate($pagesize);
        return json($result);
    }

    // 实现分页
    // 当前页面
    public function paginate2(Request  $request) {
        $pagecount = $request->param('pagecount');
        $pagesize = $request->param('pagesize');
        $result = Db::table('annocement_course')->page($pagecount,$pagesize)->select();
        return json($result);

    }

    //实现编辑功能,同时拥有增加和更新两种情况，耦合度高！！！！！！！！！！
    public function edit(Request $request) {
        $id = $request->param('id');
        // 不为''则执行修改操作，否则添加

        if($id == '') {
            //  2022-01-25T16:00:00.000Z 发送过来的数据格式不对
//        处理日期的格式
            $date = substr($request->param('date'),00,-14);
            //     最初返回的date格式不对，需要处理，自重构前端代码后，返回的格式还是不对？？？insert和update中的两个日期格式居然不同！

            $data = [
                'name' =>   $request->param('name'),
                'content' => $request->param('content'),
                'date' =>   $date,
                'father' => $request->param('type')
            ];
            $insert =   Db::name('annocement_course')->insert($data);
            return $insert;
        }

        else {
            $id = $request->param('id');
            //        根据id修改数据
        $date = substr($request->param('date'),00,-14);
//        最初返回的date格式不对，需要处理，自重构前端代码后，返回的格式正确，不需要再处理
            $data = [
                'name' =>   $request->param('name'),
                'content' => $request->param('content'),
                'date' =>   $date,
                'father' => $request->param('type')
            ];
            $update = Db::name('annocement_course')->where('id',$id)->update($data);
            return $update;
        }
    }

}
